package com.shike.hq.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.shike.hq.entity.Area;
import org.apache.ibatis.annotations.Param;

import java.util.ArrayList;

/**
 * The interface Area service.
 */
public interface AreaService extends IService<Area> {
  /**
   * 根据管理员的区域id查询区域
   *
   * @param areaId 管理员的区域id
   * @return 区域列表 array list
   */
  ArrayList<Area> selectAllAreaById(long areaId);

  /**
   * 根据所属区域id查询区域列表
   *
   * @param id 所属区域id
   * @return 区域列表 array list
   */
  ArrayList<Area> selectAreasByParent(long id);

  /**
   * 根据id更新区域信息（不推荐使用，请使用AreaService的UpdateById方法）
   *
   * @param area 新的区域信息
   * @return 影响的条数 long
   */
  @Deprecated
  long updateAreaById(Area area);

  /**
   * 根据id删除区域信息（不推荐使用，请使用AreaService的removeById方法）
   *
   * @param id 区域id
   * @return 影响的条数 long
   */
  @Deprecated
  long deleteAreaById(long id);

  /**
   * 根据id列表批量删除区域信息
   *
   * @param idList id列表
   * @return 影响的条数 long
   */
  long deleteAreasById(ArrayList<Long> idList);

  /**
   * 新增区域信息（不推荐使用，请使用AreaService的save方法）
   *
   * @param area 新增的区域信息
   * @return 影响的条数 long
   */
  @Deprecated
  long addArea(Area area);

}
